#ifndef _TEST_SHOW_FILES
#define _TEST_SHOW_FILES

#include "ShowFileStrings.h"

#define HTML_HEADER_START "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \""\
                          "\"http://www.w3.org/TR/REC-html40/strict.dtd\\\"><html>"

#define HTML_FAKE_CONTENT  "<body>Fake HTML text</body>"
#define HTML_HEADER_END    "</html>"

#define PLAYLIST_LINE_1    "music/music1.mp3"
#define PLAYLIST_LINE_2    "music/music2.mp3"
#define PLAYLIST_WRONG_EXT "music/media.BadExt"

#define LIGHTSET_LINE_1    "\"SETTING 1\"  1000  10 20 30 40 50 60"
#define LIGHTSET_LINE_2    "\"SETTING 2\"  2000  11 21 31 41 51 61"
#define LIGHTSET_LINE_SHORT    "\"SETTING 3\"  2000  11.4 21 31"
#define LIGHTSET_LINE_LONG     "\"SETTING 4\"  2000  11 21.6 31 41 51 61 71 81 91 89"

#define LIGHTSET_MISSING_NAME    "  2000  11 21 31 41 51 61"
#define LIGHTSET_NO_VALUES       "\"SETTING 1\"  1000   "
#define LIGHTSET_BAD_VALUE       "\"SETTING 2\"  2000  11 21th 31 41 51 61"

#define SEQUENCE_TRACK_LINE    "TRACK  \"1_Traccia_1.mp3\"  100  -1"
#define SEQUENCE_LIGHT_LINE    "LIGHT  \"stanza\"  -1  0"

#define SEQUENCE_WRONG_LINE    "LIT  \"stanza\"  -1  0"


/** a file without any content */
#define  EMPTY_FILE     ""

/** a valid file, but no tracks, no lightset and no script */
#define  EMPTY_SHOW     \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_HEADER_END

/** valid file with one track and one light */
#define  TRACK_1_LIGHT_1  \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_LINE_1\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define  LIGHT_NUMBER_OF_VALUES  \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_LINE_SHORT\
   "\n"LIGHTSET_LINE_LONG\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

/** a file with lightset list before track list */
#define  LIGHT_1_TRACK_1  \
   SHOW_FILE_HEADER\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_LINE_1\
   "\n"LIGHTSET_END_TAG\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

/** a file that misses playlist end tag */
#define  NO_TRACK_END    \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_LINE_1\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_HEADER_END

/** a file with tracks after html start tag */
#define  TRACKS_AFTER_HTML  \
   SHOW_FILE_HEADER\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_LINE_1\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define LIGHTSET_ERROR_NO_NAME  \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_MISSING_NAME\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define  LIGHTSET_ERROR_NO_VALUE  \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_NO_VALUES\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define  LIGHTSET_ERROR_BAD_VALUE  \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_BAD_VALUE\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define LIGHTSET_TWO_ERRORS  \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_MISSING_NAME\
   "\n"LIGHTSET_MISSING_NAME\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define LIGHTSET_ERROR_UNSUPPORTED_MEDIA_EXT\
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_WRONG_EXT\
   "\n"PLAYLIST_END_TAG\
   "\n\n"LIGHTSET_START_TAG\
   "\n"LIGHTSET_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define TRACK_1_SEQUENCE_1 \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"SEQUENCE_START_TAG\
   "\n"SEQUENCE_TRACK_LINE\
   "\n"SEQUENCE_LIGHT_LINE\
   "\n"SEQUENCE_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#define WRONG_SEQUENCE \
   SHOW_FILE_HEADER\
   "\n\n"PLAYLIST_START_TAG\
   "\n"PLAYLIST_LINE_1\
   "\n"PLAYLIST_END_TAG\
   "\n\n"SEQUENCE_START_TAG\
   "\n"SEQUENCE_WRONG_LINE\
   "\n"SEQUENCE_END_TAG\
   "\n\n"HTML_HEADER_START\
   "\n"HTML_FAKE_CONTENT\
   "\n"HTML_HEADER_END

#endif // _TEST_SHOW_FILES
